home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / libxml2 / libxml / entities.h < prev    next >
C/C++ Source or Header  |  2006-04-25  |  4KB  |  140 lines

  1. /*
  2.  * Summary: interface for the XML entities handling
  3.  * Description: this module provides some of the entity API needed
  4.  *              for the parser and applications.
  5.  *
  6.  * Copy: See Copyright for the status of this software.
  7.  *
  8.  * Author: Daniel Veillard
  9.  */
  10.  
  11. #ifndef __XML_ENTITIES_H__
  12. #define __XML_ENTITIES_H__
  13.  
  14. #include <libxml/xmlversion.h>
  15. #include <libxml/tree.h>
  16.  
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20.  
  21. /*
  22.  * The different valid entity types.
  23.  */
  24. typedef enum {
  25.     XML_INTERNAL_GENERAL_ENTITY = 1,
  26.     XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2,
  27.     XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3,
  28.     XML_INTERNAL_PARAMETER_ENTITY = 4,
  29.     XML_EXTERNAL_PARAMETER_ENTITY = 5,
  30.     XML_INTERNAL_PREDEFINED_ENTITY = 6
  31. } xmlEntityType;
  32.  
  33. /*
  34.  * An unit of storage for an entity, contains the string, the value
  35.  * and the linkind data needed for the linking in the hash table.
  36.  */
  37.  
  38. struct _xmlEntity {
  39.     void           *_private;            /* application data */
  40.     xmlElementType          type;       /* XML_ENTITY_DECL, must be second ! */
  41.     const xmlChar          *name;    /* Entity name */
  42.     struct _xmlNode    *children;    /* First child link */
  43.     struct _xmlNode        *last;    /* Last child link */
  44.     struct _xmlDtd       *parent;    /* -> DTD */
  45.     struct _xmlNode        *next;    /* next sibling link  */
  46.     struct _xmlNode        *prev;    /* previous sibling link  */
  47.     struct _xmlDoc          *doc;       /* the containing document */
  48.  
  49.     xmlChar                *orig;    /* content without ref substitution */
  50.     xmlChar             *content;    /* content or ndata if unparsed */
  51.     int                   length;    /* the content length */
  52.     xmlEntityType          etype;    /* The entity type */
  53.     const xmlChar    *ExternalID;    /* External identifier for PUBLIC */
  54.     const xmlChar      *SystemID;    /* URI for a SYSTEM or PUBLIC Entity */
  55.  
  56.     struct _xmlEntity     *nexte;    /* unused */
  57.     const xmlChar           *URI;    /* the full URI as computed */
  58.     int                    owner;    /* does the entity own the childrens */
  59. };
  60.  
  61. /*
  62.  * All entities are stored in an hash table.
  63.  * There is 2 separate hash tables for global and parameter entities.
  64.  */
  65.  
  66. typedef struct _xmlHashTable xmlEntitiesTable;
  67. typedef xmlEntitiesTable *xmlEntitiesTablePtr;
  68.  
  69. /*
  70.  * External functions:
  71.  */
  72.  
  73. #ifdef LIBXML_LEGACY_ENABLED
  74. XMLPUBFUN void XMLCALL        
  75.         xmlInitializePredefinedEntities    (void);
  76. #endif /* LIBXML_LEGACY_ENABLED */
  77. XMLPUBFUN xmlEntityPtr XMLCALL
  78.             xmlAddDocEntity        (xmlDocPtr doc,
  79.                          const xmlChar *name,
  80.                          int type,
  81.                          const xmlChar *ExternalID,
  82.                          const xmlChar *SystemID,
  83.                          const xmlChar *content);
  84. XMLPUBFUN xmlEntityPtr XMLCALL        
  85.             xmlAddDtdEntity        (xmlDocPtr doc,
  86.                          const xmlChar *name,
  87.                          int type,
  88.                          const xmlChar *ExternalID,
  89.                          const xmlChar *SystemID,
  90.                          const xmlChar *content);
  91. XMLPUBFUN xmlEntityPtr XMLCALL        
  92.             xmlGetPredefinedEntity    (const xmlChar *name);
  93. XMLPUBFUN xmlEntityPtr XMLCALL        
  94.             xmlGetDocEntity        (xmlDocPtr doc,
  95.                          const xmlChar *name);
  96. XMLPUBFUN xmlEntityPtr XMLCALL        
  97.             xmlGetDtdEntity        (xmlDocPtr doc,
  98.                          const xmlChar *name);
  99. XMLPUBFUN xmlEntityPtr XMLCALL        
  100.             xmlGetParameterEntity    (xmlDocPtr doc,
  101.                          const xmlChar *name);
  102. #ifdef LIBXML_LEGACY_ENABLED
  103. XMLPUBFUN const xmlChar * XMLCALL        
  104.             xmlEncodeEntities    (xmlDocPtr doc,
  105.                          const xmlChar *input);
  106. #endif /* LIBXML_LEGACY_ENABLED */
  107. XMLPUBFUN xmlChar * XMLCALL        
  108.             xmlEncodeEntitiesReentrant(xmlDocPtr doc,
  109.                          const xmlChar *input);
  110. XMLPUBFUN xmlChar * XMLCALL        
  111.             xmlEncodeSpecialChars    (xmlDocPtr doc,
  112.                          const xmlChar *input);
  113. XMLPUBFUN xmlEntitiesTablePtr XMLCALL    
  114.             xmlCreateEntitiesTable    (void);
  115. #ifdef LIBXML_TREE_ENABLED
  116. XMLPUBFUN xmlEntitiesTablePtr XMLCALL    
  117.             xmlCopyEntitiesTable    (xmlEntitiesTablePtr table);
  118. #endif /* LIBXML_TREE_ENABLED */
  119. XMLPUBFUN void XMLCALL            
  120.             xmlFreeEntitiesTable    (xmlEntitiesTablePtr table);
  121. #ifdef LIBXML_OUTPUT_ENABLED
  122. XMLPUBFUN void XMLCALL            
  123.             xmlDumpEntitiesTable    (xmlBufferPtr buf,
  124.                          xmlEntitiesTablePtr table);
  125. XMLPUBFUN void XMLCALL            
  126.             xmlDumpEntityDecl    (xmlBufferPtr buf,
  127.                          xmlEntityPtr ent);
  128. #endif /* LIBXML_OUTPUT_ENABLED */
  129. #ifdef LIBXML_LEGACY_ENABLED
  130. XMLPUBFUN void XMLCALL            
  131.             xmlCleanupPredefinedEntities(void);
  132. #endif /* LIBXML_LEGACY_ENABLED */
  133.  
  134.  
  135. #ifdef __cplusplus
  136. }
  137. #endif
  138.  
  139. # endif /* __XML_ENTITIES_H__ */
  140.